package br.com.pb.bymychef.persistencia.jpa;

import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.Produces;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class ProdutorEntityManager {

    private static EntityManagerFactory factory = Persistence
	    .createEntityManagerFactory("bymychef");
    
    public ProdutorEntityManager() {
	System.out.println("Instanciou o ProdutorEntityManager");
    }
    
    @Produces
    @RequestScoped
    public EntityManager criarEntityManager() {
	System.out.println("ProdutorEntityManager - Criando EntityManager");
	EntityManager em = factory.createEntityManager();
	em.getTransaction().begin();
	return em;
    }
    
    public void fecharConexao(@Disposes EntityManager manager) {
	System.out.println("ProdutorEntityManager - Fechando EntityManager");
	manager.close();
    }
    
}
